package org.scrm.component;


import org.scrm.util.HttpClientUtil;
import org.springframework.stereotype.Component;

import java.util.HashMap;
import java.util.Map;

@Component
public class SendUtil {

    /**
     * 接口地址
     */
    private final static String URL = "https://api.ums86.com:9600/sms/Api/Send.do";

    /**
     * 手机号码提交检测方式
     * 1：提交号码中有效的号码仍正常发出短信，无效的号码在返回参数faillist中列出
     * 不为1 或该参数不存在：提交号码中只要有无效的号码，那么所有的号码都不发出短信，所有的号码在返回参数faillist中列出
     */
    private final static String F = "1";

    /**
     * 短信参数编码
     */
    private final static String ENCODE = "GB2312";

    /**
     * 短信发送方法
     * @param spCode 企业号
     * @param loginName 用户名
     * @param password 密码
     * @param mobile 手机（多个逗号分隔，最多支持1000个）
     * @param content 发送内容
     * @param serialNumber 流水号，20位唯一数字，用户短信回执查看短信发送状态
     * @return 发送结果
     */
    public String send(String spCode, String loginName, String password, String mobile, String content, String serialNumber) {
        Map<String,String> paramsMap = new HashMap<>();
        paramsMap.put("SpCode", spCode);
        paramsMap.put("LoginName", loginName);
        paramsMap.put("Password", password);
        paramsMap.put("MessageContent", content);
        paramsMap.put("UserNumber", mobile);
        paramsMap.put("SerialNumber", serialNumber);
        paramsMap.put("f", F);
        return HttpClientUtil.post(URL,paramsMap, ENCODE);
    }
}
